package main

import (
	"fmt"
	"io"
	"os"
)

//文件拷贝
func main() {
	//打开读文件
	f_r, err := os.Open("../file/20211029.vim")
	if err != nil {
		fmt.Println("open err :", err)
		return
	}
	defer f_r.Close()
	//创建写文件
	f_w, err := os.Create("../file/20212031.vim")

	if err != nil {
		fmt.Println("create err :", err)
		return
	}
	defer f_w.Close()

	//从读文件中获取数据，放到缓冲区中
	buf := make([]byte, 4*1024)
	//循环从读文件中获取数据，原封不动的写到写文件中
	for {
		n, err := f_r.Read(buf)
		if err != nil && err != io.EOF {
			fmt.Println(err)
			return
		} else if err == io.EOF {
			fmt.Printf("文件读完了, %d\n", n)
			return
		}
		//读多少，写多少
		f_r.Write(buf[:n])
	}
}
